Page({
  data: {
    // Add your data here
    rechData: ["1"],
  },

  onLoad: function (options) {
    // 初始化时随机追加 100 条数据
    var rechData = this.data.rechData;
    for (var i = 0; i < 100; i++) {
      rechData.push(Math.random());
    }
    this.setData({
      rechData: rechData,
    });
  },

  onReachBottom: function () {
    // 模拟请求数据，并渲染,一般情况下，请求数据是异步的，所以这里用 setTimeout 模拟异步请求的延迟
    wx.showToast({
      title: '加载ing...',
      icon: 'loading',
    })
    // 第一种情况,拿到后端返回的指定页码的数据,假定此数据是 Array ,循环数据 push到rechData中
    var timer = setTimeout(() => {
      let rechData = this.data.rechData;
      for (var i = 0; i < 100; i++) {
        rechData.push(Math.random());
      }
      this.setData({
        rechData: rechData,
      });

      wx.nextTick(() => {
        clearTimeout(timer)
        wx.hideToast();
      })
    }, 2000);
    // 第二种情况,将原有数据和新数据合并,使用 ES6 的 ... 运算符
    // var timer = setTimeout(() => {
    //   let rechData = this.data.rechData;
    //   let newData = [];
    //   for (var i = 0; i < 100; i++) {
    //     newData.push(Math.random());
    //   }
    //   this.setData({
    //     rechData: [...rechData, ...newData], // 合并旧数据和新数据为一个新数组
    //   });
    //   wx.nextTick(() => {
    //     clearTimeout(timer)
    //     wx.hideToast();
    //   })
    // }, 2000);
  },

  onShareAppMessage: function () {
    // Do something when share app message
  },
});